package com.bonc.ioc.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 数据资产信息
 * @author ZhangXu
 * @date 2021/3/23 15:28
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class DataAssetInfo implements Serializable {
    private static final long serialVersionUID = -6519125223127858295L;

    /**
     * 主键
     */
    private Long id;
    /**
     * 资产主键id
     */
    private String assetsId;
    /**
     * 所属科目
     */
    private String subjects;
    /**
     * 所属科目名称
     */
    private String subjectsName;
    /**
     * 资源发布者
     */
    private String publisher;
    /**
     * 资源发布者名称
     */
    private String publisherName;
    /**
     * 资源所属部门
     */
    private String department;
    /**
     * 资源大小
     */
    private String size;
    /**
     * 资源使用范围
     */
    private Integer useScope;
    /**
     * 资源使用范围名称
     */
    private String useScopeName;
    /**
     * 数据格式
     */
    private Integer dataFormat;
    /**
     * 数据格式名称
     */
    private String dataFormatName;
    /**
     * 发布时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date releaseTime;
    /**
     * 资源介绍
     */
    private String introduction;
    /**
     * 正文
     */
    private String content;
    /**
     * logo url
     */
    private String logo;
    /**
     * 副标题
     */
    private String subTitle;
    /**
     * 访问量
     */
    private Integer visitNum;
    /**
     * 使用量(下载量)
     */
    private Integer usedNum;
    /**
     * 关键词
     */
    private String keyWords;
    /**
     * 数据来源
     */
    private String dataOrigin;
    /**
     * 创建者
     */
    private String creator;
    /**
     * 创建者名称
     */
    private String creatorName;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    /**
     * 更新者
     */
    private String updater;
    /**
     * 更新者名称
     */
    private String updaterName;
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 标题
     */
    private String title;
    /**
     * 租户编码
     */
    private String tenantId;
    /**
     * 资产类别主键
     */
    private String classesId;
    /**
     * 描述
     */
    private String description;
    /**
     * 版本
     */
    private Integer assetsVersion;
    /**
     * 状态类型 0：已发布 1：未发布
     */
    private String statusType;
    /**
     * 上线时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date onlineTime;
    /**
     * 下线时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date offlineTime;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date crtTime;
    /**
     * 创建人
     */
    private String crtUser;
    /**
     * 创建人姓名
     */
    private String crtName;
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updTime;
    /**
     * 更新人
     */
    private String updUser;
    /**
     * 更新姓名
     */
    private String updName;
    /**
     * 删除标记
     */
    private String delFlag;

    /**
     * 是否收藏 0:未收藏, 1:已收藏
     */
    private Integer isCollection;
    /**
     * 收藏量
     */
    private Long collections;
    /**
     * 分享量
     */
    private Long share;

    /**
     * 总数据数量
     */
    private Long totalDataNum;
    /**
     * 总数据大小
     */
    private Long totalDataSize;
    /**
     * 总访问量
     */
    private Long totalVisitNum;
    /**
     * 总使用量
     */
    private Long totalUsedNum;

    private String serviceId;

    private String fileUrl;
}
